#ifndef __CONTROLLER_P2P_H_
#define __CONTROLLER_P2P_H_

#include <motion_controller/controller/controller_base.h>


class ControllerP2P : public ControllerBase{
    public:
        ControllerP2P(boost::shared_ptr<PlannerBridge> planner_bridge_ptr,
            boost::shared_ptr<SensorBridge> sensor_bridge_ptr);
        ~ControllerP2P();

        /********************
         *  虚函数实现
         ********************/
        // 设置数据
        void SetData(vector<Pose2D> points);
        // IDLE数据重置
        void ResetIdle();
        // 执行中预处理函数
        void ExecutingEntry();
        // 执行中处理函数
        void ExecutingRunning();


    private:
        boost::shared_ptr<PlannerBridge> __planner_bridge_ptr;
         boost::shared_ptr<SensorBridge> __sensor_bridge_ptr;
        boost::shared_ptr<Pose2D> __goal_pose_ptr;
        bool __rotate_start_direction;


};

#endif
